【2025年度版】パスワードセキュリティ究極ガイド
パスワードのセキュリティをきちんと管理できていますか?本記事では、効果的なサイバー衛生とはどのようなもので、なぜそれが有効なのかを徹底解説します。
パスワードレスの時代が近い将来やってくるかもしれませんが、現時点では、大半のサービスがユーザー名/パスワードによる認証に依存しています。パスワードのベストプラクティスを実行し、個人情報や資産などデジタル化された情報を安全に管理しましょう。
この記事を通して、パスワードセキュリティの鉄則について説明します。そもそも安全なパスワードとは、
- 長く、ランダムで、一意のもの
を指します。パスワードセキュリティに関連するあらゆる取り組みの有効性は、この鉄則を遵守しているかどうかで決まります。
この記事の目的は、皆さんがパスワードの鉄則を実践できるよう手助けすること、つまり「良質なパスワード衛生」を実践することです。
パスワードは、その定義からもわかるように、秘密であるべきです。この記事で紹介するツールやプラクティスは、長くてランダムでかつ一意のパスワードを保護するのに役立つでしょう。
Table of Contents
パスワードセキュリティが重要な理由
パスワードは、サイバー犯罪者から個人情報が盗まれるのを阻止する唯一の手段と言っても過言ではありません。
ビジネスにおいては、パスワードセキュリティがさらに重要になります。 パスワードが弱いと、データ侵害のリスクが高まり、貴重な企業情報や顧客データ、企業秘密が侵害される可能性があります。
そこで各アカウントに強力で唯一無二のパスワードを使い、MFA(多要素認証)を有効にすることで、不正アクセスのリスクが大幅に下がり、個人も組織も個人情報の盗難や金銭的損失から守られるのです。
パスワードマネージャーとは
パスワードマネージャーは、パスワードや住所、クレジットカード情報などの認証情報を安全に保管する暗号化された保管庫であり、基本的には単一のマスターパスワードと多要素認証で保護されています。
パスワードマネージャーは、パスワードを一つだけ覚えていればいいので、全アカウントで同じパスワードを使い回すこともなくなります。
パスワードをハッキングする手口
サイバー犯罪者は、パスワードをハッキングするために様々な攻撃を行いますが、以下の3つが最も一般的な方法です。
- ブルートフォース攻撃: ハッカーは、正しいパスワードを見つけるまで、さまざまな組み合わせを試し、組織的にパスワードを推測する。この方法は、一般的な単語(名前や地名などの固有名詞)や生年月日、単純な数字の羅列など、弱くて推測しやすいパスワードに有効。
- フィッシング:フィッシング攻撃では、ハッカーが偽の Web サイトを作成したり、正規のプラットフォームを模倣した詐欺メールを送信し、ユーザーはそれに騙されてパスワードを入力してしまう。ユーザーが無意識のうちに認証情報を開示してしまうと、そこでハッカーはアカウントにアクセスし、盗まれたパスワードを不正に使用できる仕組み。
- マルウェア: マルウェアは、フィッシング攻撃と関連してコンピュータに感染することが多い。例えば、PDF が添付された書類が送られてきて、その PDF を開くとキーロガーがコンピュータにダウンロードされ、入力したパスワードが盗み出される。
ここからは、パスワードのベストプラクティスについてステップ毎に解説します。
ステップ1:パスワードを整理するシステムの導入
優れたパスワード管理システムは、それが何のパスワードなのか、個人情報の保護のためにパスワードに頼っているアカウントがいくつあるのか、パスワードがどこにあるのかを知らせてくれます。
パスワード:
- どのようなパスワードを使っているのか。例:password123(覚えやすいが脆弱)、#L?UT;+*\zNrwrj(qZ:cZN"a(強度は高いが覚えるのが困難)
アカウント数:
- 氏名、電話番号、住所、その他の個人情報がそれぞれの Web サイトで使用されているのか
場所:
- サイバー犯罪者に盗まれてしまうような場所にパスワードが漏洩していないか?メール、テキストメッセージのスレッド、メモ帳や付箋、ブラウザの自動入力なども確認するべき。
存在すら忘れていたアカウントに侵入され、そこで個人情報がダークウェブに流れてしまうのは誰しもが避けたいシナリオです。コマンド内の全アカウントにおいて、鉄則に従ってパスワードを更新することで、そのパスワードがより機密性の高いアカウントのロックを解除するのに使われないようにすることができます。
おそらく、これまでにサインアップしたアカウントを全て覚えているなんてことは不可能に近いでしょう。今後は、潜在的な損害を最小限に抑え、データをより適切に管理することを目標にしましょう。
パスワードを洗い出して整理する
パスワードを探し出すには、自分で調べる必要性がありますが、調べる場所として最も一般的なひとつが、Web ブラウザです。
ほとんどの人は、Chrome の「このパスワードを保存しますか?」というバナーに出会したことがあるでしょう。 Chrome は様々なブラウザがある中で、なんと65%のシェアを占めている代表的なWebブラウザです。
以下は、Chrome 内に保存されているパスワードを確認する方法です。
- Chrome の右上にある自身のプロフィールのアイコンをクリックする。
- Google パスワードマネージャーの鍵のマークをクリックする。
Chrome のパスワードマネージャーをパスワードで保護するよう設定している場合は、ここでパスワードの入力が必要であり、そうでない場合は、Chrome に保存されているパスワードの一覧が表示されます。
パスワードの CSV をエクスポートするには、左側の「Setting(設定)」タブを選択し、「Export passwords(パスワードのエクスポート)」までスクロールダウンします。
存在を忘れていたアカウントのパスワードを見かけたら、今すぐそのアカウントを停止するか、パスワードを更新することをお勧めします。ハッキングされた場合、そこで見つかった個人情報はダークウェブのプロフィールを構成するのに使われ、ゆくゆくは今お使いのアカウントでそれらの情報が悪用される可能性があります。
また、ブラウザに保存されている自身の情報が気に入らない場合は、情報を消去するか、ブラウザのパスワードマネージャーを完全に無効にするといいでしょう。
以下は、各デバイス・Webブラウザに保存されたパスワードの探し方です。
デフォルトの機能(ブラウザやデバイスに元から付いているもの)は便利ですが、パスワードマネージャーとしては完璧ではありません。そして、複数のプラットフォームにまたがる互換性の問題もあります。例えば Chrome のパスワードは Safari と同期しませんし、Apple のキーチェーンは、Mac やAndroid の Chrome では使えません。
次に、SSO(シングルサインオン)についてですが、現在、ほとんどのサービスがこれに対応しています。最も一般的なのは Google の SSO で、他社でアカウントを作成する際に自分の Gmail アドレスを使うことができます。これはセキュリティとプライバシーを利便性と引き換えにするもので、すべてのサービスで利用できるわけではありません。SSO に対応している全サービスで SSO を使うとしても、パスワードの管理が必要なのもあります。
一方、パスワードマネージャーは、あらゆるデバイスやブラウザでアカウント情報を全て扱うことができます。
ただし、乗り越えないといけないもう一つのハードルがあります。
パスワードマネージャーがハッキングされたら?
パスワードマネージャーも侵害される可能性があります。パスワードマネージャーが侵害された場合でもデータを安全に保つとされる「ゼロトラストアーキテクチャ」という言葉もありますがこれは本当なのでしょうか?
ゼロトラストアーキテクチャとは、ある当事者(証明者)が他の当事者(検証者)に対して、ある文が「真」であることを、その文が「真」であるという事実以上の追加情報を明かすことなく証明できるシステムのことです。ゼロ知識証明の概念的な理解については、こちらをお読みください。
そしてこれがパスワードマネージャーにどのように適用されるのでしょうか?パスワードマネージャーは、データを読むのに必要な暗号化キーにアクセスすべきではなく、アカウント作成時に作成したマスターパスワードは、デバイス上でローカルに暗号化されます(そして後で復号化されます)。ちなみに、この暗号化にはソルティングとハッシュが使われますが、それについては後半で簡単に触れます。
ここで問題が発生する可能性があります。
パスワード保管庫は暗号化されているとはいえ、オンライン上にあります。ログインポータルには通常、一定回数のログイン失敗後、それ以降のログインが一時的に禁止されるRate-Limitingと呼ばれるものがあります。これは、ブルートフォース攻撃や辞書攻撃に備えるものです。また、アカウントにMFA(多要素認証)を設定しておくことも重要です。
パスワード管理者は、万が一の場合にデータを以前のバージョンに復元できるよう、バックアップ用のデータを保管しています。これは完全に暗号化されており、安全安心です。
サイバー犯罪者が開発環境にアクセスした場合、彼らはこのバックアップ保管庫をオフラインにして、Rate Limiting を解除し、マスターパスワードをブルートフォースすることができるかもしれません。そしてマスターパスワードを更新しても、このような場合、マスターパスワードを更新しても効果はなく、保管庫内のすべてのパスワードを更新する必要があります。さらに、パスワード保管庫の多要素認証は、保管庫がオフラインであるため役に立ちません(MFAは、認証情報が保管庫にあるアカウントに対して有効であれば機能します)。
このような理由から、パスワード管理ツールには、非常に強力なマスターパスワードを作成することが不可欠なのです。
十分なコンピューティング能力(つまりお金と時間)があれば、パスワードをクラックすることは可能です。パスワード生成機を使って強固なパスワードを生成しましょう。中には、コンピュータがそのパスワードを解読するのにどれくらいの時間がかかるかを推定してくれるものもあります。解読に「数百年」から「数百万年」かかると表示されたものは基本的に安全であると考えられていますが、あくまでも推定であり、サイバー犯罪者がその気になれば解読されてしまうことがある可能性も頭に入れておく必要があります。そして忘れてはならないのが、侵害の大半がサイバー犯罪者側の巧妙なハッキングではなく、人間の過失によるものであるということです。
パスワードをメモ帳などに記入して、この問題を回避することはできるのか?
長さと複雑さはパスワードの安全性を決定する重要な要素ですが、長くて複雑なパスワードをいくつも覚えることはほぼ不可能です。
ノートやメモ帳にパスワードを記入して保管する場合、そのノートを常に持ち歩かなければなりません。
そうしているうちに、そのノートを紛失してしまったら元も子もありません。「まさか自分が失くすはずがない」と思い込むのも危険です。
実際、パスワードをUSB本体に貼り付けて管理していたところ、そのUSBを紛失してしまうという事例も発生しています。
スプレッドシートでの管理は安全なのか?
スプレッドシートには、セキュリティ上の危険で溢れています。スプレッドシート内のデータが暗号化されていない、「暗号化された」スプレッドシートに対する既知の脆弱性と回避策(MS Officeのパスワード回復攻撃)、きめ細かいアクセス/共有コントロールがない、パスワードを誤って全部を平文で共有してしまう可能性があるなど、スプレッドシートが安全でない理由がほんの一部でもこれだけ挙げられます。
ステップ2では、パスワードセキュリティの仕組みについて詳しく見ていきます。
パスワード管理ツールは使い方が複雑?
特に Chrome や Apple Keychain から移行した場合はセットアップに手間がかかると思いますが、一度きちんとセットアップされれば、パスワードマネージャーによって大幅に時間を節約することができます。
自力でパスワードを管理する際には、以下のような作業が必要となります。
- 記録を検索できるようにする。(名前の変更や、関連するメモの追加など)
- アカウントのパスワードを全て手動で更新する。
特に2番目が大変です。しかし、パスワードマネージャーを使えば検索も更新も簡単に行うことができます。
旧式のセキュリティ基準では、90日ごとのパスワード変更が推奨されていましたが、セキュリティの専門家は最近、データに合わせて推奨を変更しており、NIST は現在、情報漏洩の被害がない限り、ユーザーはパスワードの変更は必要でないとしています。90日ごとのパスワード変更を指示するなんてことも可能ですが、現実的ではないですし、そもそもそんな面倒なことは誰もやりません。
専門家によると、コンピューターで生成された24文字以上のパスワードを使っている場合、その Web サイトが情報漏えいに巻き込まれない限り、パスワードの変更は必要はないとのことです。ただし銀行のような高いセキュリティが求められるアプリケーションの場合は、90日周期での変更をお勧めします。
パスワードジェネレーターは、パスワード管理ソリューションに基本的な機能として統合されているので、24文字以上のランダムなパスワードの作成は簡単にクリアできます。
ちなみに、情報漏洩に巻き込まれていないのに、パスワードを変更する必要がある理由は、パスワードは攻撃に使われる数ヶ月前に漏洩していることが多いからです。そのパスワードはダークウェブで売られているかもしれませんし、攻撃を計画している間に、サイバー犯罪者の手元で管理されているかもしれません。そこでパスワードを変更することで、サイバー犯罪者たちの攻撃の芽を少しでも摘むことができるのです。
ただ、これを全アカウントで行うのは非現実的なので、推奨されている強固なパスワードを使用してきちんと管理しておけば、定期的な変更は必要ないでしょう。
ステップ2:強力なパスワードの作成
前半で紹介したパスワードの鉄則を覚えていますか?「長く、ランダムで、一意のもの」です。
以下に、強力なパスワードの作成に必要なことを挙げてみましょう。
- パスワードジェネレータを使って、数字や記号を含む14文字以上の完全にランダムなパスワードを作成する。
可能であれば24文字以上にするのが好ましいです。アカウントのパスワードが12文字や15文字以内に制限されているオンラインポータルに何度か遭遇したことがありますが、これはあまり良くないです。必ず大文字、小文字、数字、記号を含んだ長いパスワードを使いましょう。
パスフレーズを使って強力で覚えやすいパスワードを作る方法
強力で覚えやすいパスワードの作成が必要な場合は、パスフレーズという方法を試してみてください。
以下がパスフレーズの例です。
- socks-monkey-pescatarian-pithy-orb.
それぞれ単語のスペルを覚えておく必要がありますが、パスフレーズジェネレーターを使って、ランダムなパスワードを作成しましょう。
パスフレーズはユニークなものに!
- パスフレーズの悪い例:To-be-or-not-to-be。
有名な引用、歌の歌詞、詩の一節を使うのは、サイバーセキュリティの面を考えると、良い方法とは言えません。
パスフレーズは、その Web サイトに15文字の制限がある場合に機能しない可能性があります。この場合、あまり長くない単語は使えないため、記号、文字、数字をランダムに並べたものを使うといいでしょう。
詳しくはこちらの記事(パスワードの強度をチェックする方法|「強力な」パスワードとは?)をお読みください。
長くてランダムなパスワードが強力な理由
パスワードセキュリティに関する面白くてわかりやすい入門書は、こちらの動画をご覧ください。
暗号技術の歴史は非常に奥が深いものですが、ここではパスワードのセキュリティに関連する部分を簡単に説明したいと思います。
Amazon アカウントにサインインする際、Amazon は入力されたパスワードとアカウント作成時に使用したパスワードを照合しません。入力されたパスワードは、アカウント作成時に使用したパスワードをハッシュ化し、ソルト化したものと一致します。
新しいパスワードを保存すると、ハッシュ関数がハッシュ版を作成し、それをサーバーに保存します。
パスワードを使用してログインすると、ハッシュ関数がハッシュを再作成し、保存されているものと一致するかどうかを確認します。ハッシュが一致すれば、アルゴリズムは認証を通過し、ログインできます。
例:
- 元のパスワード: Pa$$w0rd123
- ハッシュ化されたパスワード: 6AF1CE202340FE71BDB914AD5357E33A6982A63B
これは安全なように見えるかもしれませんが、単純にハッシュ化されたパスワードはハッキング防止にはなりません。
ハッシュ関数は、各パスワードに対して一意なハッシュを作成するだけで、各ユーザーに対して都度作成するわけではないのです。そのため、「Pa$$w0rd123」というパスワードを複数のユーザーが持っている場合、そのハッシュは全く同じになります。
この脆弱性は、サイバー犯罪者が既知のハッシュの事前計算されたテーブルを使うレインボーテーブル攻撃で悪用されます。
この暗号化の脆弱性を克服するため、エンジニアはパスワードが同一であっても各ハッシュが一意になるように、パスワードをソルト化します。
ソルトは、ハッシュ関数がハッシュを作成する前に、パスワードに8バイト(16文字)のユニークな値を付加します。そうすることで、同じパスワードであっても、ハッシュ関数の前では一意になります。
例:
- 「Pa$$w0rd123」というパスワードが2つある
- ソルト値1 E1F53135E559C253
- ソルト値2:84B03D034B409D4E
- ハッシュ前のパスワード1 Pa$$w0rd123E1F53135E559C253
- ハッシュ前のパスワード2 Pa$$w0rd12384B03D034B409D4E
- パスワード1のハッシュ値(SHA256): 72AE25495A7981C40622D49F9A52E4F1565C90F048F59027BD9C8C8900D5C3D8
- パスワード2つのハッシュ値(SHA256): B4B6603ABC670967E99C7E7F1389E40CD16E78AD38EB1468EC2AA1E62B8BED3A
ステップ3: 2FA を有効にする
2FA(二要素認証)または MFA(多要素認証)は、第二の防御線です。強力なパスワードが漏れて使われてしまった場合でも、その先にはサインインの認証のために OTP(ワンタイムパスワード:通常は数字のコード)が求められます。
2FAは以下のようにさまざまな形で存在します。
- ハード・トークン:Yubikey などの会社のフォブまたは USB スティック
- 認証アプリ: (Google、Microsoft、Apple の各社が独自に提供している)Authy、Authenticator などがある。
- マジックリンク/コード:サインインすると、使い捨てリンクまたはコードをメールで確認するよう促される。
- デバイスへのプッシュ通知
- SMS コード:電話番号にコードがショートメールで送られる。
SMS は 2FA を使わないよりはいいですが、可能な限り避けることをお勧めします。SMSの危険性は、主にSIMスワップの可能性によるもので、犯罪者がキャリアを騙して顧客番号を犯罪者自身のデバイスに転送させ、それによってあらゆるOTPをコントロールできるようにするというものです。
過去に、T-Mobileの大規模な情報漏えいが起きたように、低賃金できちんと訓練を受けていない従業員によってデバイスへの接続が切断される可能性がある電話番号にはリスクも潜んでいます。
2022年の Uber 事件では、請負業者がサインイン試行を認証するためのプッシュ通知リクエストを受け入れてしまいました。 Uber は、自社のデバイスが以前にマルウェアに感染し、パスワードが盗まれてダークウェブに流出したと考えています。
ログインを認証するよう要求されたり、コードを要求されたりした場合は、落ち着いて、スパムによって引き起こされる切迫感に負けてはいけません。ITまたはセキュリティチームと、できれば電話で連絡を取ってください。攻撃が収まるまで、アカウントをロックしてくれるかもしれません。そしてまずやることは、パスワードの更新です。
ステップ4:パスワードを安全に共有する
スプレッドシートの使用は絶対に避けましょう。Google Sheets や Excel は、機密データを保護するために作られてたツールではありません。
「one-time-secret」という言葉を聞いたことがあるかもしれませんが、それはデータを安全に保つはずの機能そのものが、パスワードを Google ドキュメントや付箋に書き留める動機を与えてしまうというところに問題があります。
アカウントを共有する企業や家族には、パスワードが暗号化された環境から決して流出しないように、ユーザーごとにパスワードマネージャーが必要でしょう。
パスワードマネージャーを使って、ログイン情報を別々のグループに分けて、そのグループに対して、必要に応じてアクセス権を与えるようにしましょう。ちなみにそのアクセス権は、クリック数回で簡単に追加や削除ができます。
パスワードを安全に共有できるように設定しましょう。
ステップ5:メンテナンス
Haveibeenpwned をチェックしましょう。そして、必要に応じてパスワードを変更しましょう。常に誰かがあなたのオンラインアカウントへの侵入を試みていることを忘れてはなりません。
アクセスの監視
パスワードをチームで共有している場合は、組織の設定をチェックして、アクセス権を持つべき人だけがアクセスできるようにしましょう。
とあるアカウントのパスワードを一度共有したことがあるかもしれないけどはっきり覚えていない場合は、安全第一で念のため変更しておきましょう。
メールのエイリアス(仮名)の設定
迷惑メールをたくさん受け取っている場合、自身のメールアドレスがダークウェブ上にあるかもしれません。サイバー犯罪者の元に、あなたがソーシャルエンジニアリング攻撃を受けるのに十分な情報があるのかもしれません。
これをよりよく追跡するためのコツの一つに、登録するサービスごとに別々のメールエイリアス(仮名)を使うというのがあります。
例えば メールが [email protected] で、Untrustworthy Phone Carrierという会社に登録している場合、そのサービスに登録する際のメールのエイリアスを[email protected] にします。そして、メールのプロバイダでフィルタを作成し、誰かが [email protected] にメールを送ると、「untrustworthyphonecarrier」というラベルを貼るか、特定のフォルダに入れるようにします。そこから突然「untrustworthyphonecarrier」というラベルの下にフィッシングメールやスパムが届くようになれば、どこからメールが流出したのかがわかります。
以下は、Gmail アカウントでエイリアスのフィルタを作成する方法です。
1. Gmailの検索バーの右側にある検索オプションを開きます。
2. 「To(宛)」の欄にエイリアスを入れます。そして「Create filter(フィルタを作成)」をクリックします。このページでは他に何もする必要はありません。このフィルターは、送信元が誰であるかにかかわらず、このエイリアスに送信されたメールをすべて集めます。ラベルが正しく設定されていれば、誰が漏洩させたかわかります。
3.「Choose label (ラベルの選択)」のドロップダウンをクリックし、新しいラベルを作成します。この場合は「examplecompany」です。
4.「Create filter(フィルタを作成)」をクリックします。
それで、このエイリアスは他のことには使わないでください。それでもし、[email protected] 宛のスパムを受け取ったら、どの会社から流出したかはっきりわかるでしょう。
パスワードセキュリティに関するQ&A
Q. パスワードはパスキーに取って代わられるのでしょうか?
A. パスキーが一般的に対応されるようになるには、まだ長い道のりがあります。Passkey の技術で、大抵のユーザーは大体の状況において、より速く、より簡単で、より安全なサインインが可能となります。
また、サードパーティ製のパスワードマネージャーの多くはパスキーを保存できるため、(Apple、Google、Microsoft の)プラットフォームベンダーが自社の OS(オペレーティング・システム)やブラウザ間でしかパスキーを同期させず、ユーザーを独占してしまうという問題が軽減されます。
つまり、パスキーはますます普及していくと思われますが、特に企業では、パスワードが広く使われることに変わりはありません。
Q. パスワードマネージャーを使えば、パスワードはより安全になるのでしょうか?
A. これに関しては「No」です。例えば銀行口座のパスワードとして「123456」を超安全なパスワードマネージャーに保存しても、何の役にも立ちません。パスワードマネージャーは、セキュリティに関する良い習慣を身につける手助けをしてくれるものであり、脆弱なパスワードやサイバーセキュリティ対策の不備がもたらす危険をカバーするものではありません。
まとめ:チェックリスト
1. パスワードとアカウントを洗い出して整理する
- Chrome のパスワードマネージャー、Apple Keychain、ノートやメモ帳、メールなどをチェックする。
2. アカウントごとに固有のパスワードを作成する
- 様々なソースからパスワードをエクスポートし、パスワードマネージャにインポートする。
- パスワードマネージャー内蔵の生成機を使って、パスワードを全て更新する。
3. .全アカウントで 2FA を有効にする
- 各アカウントのパスワードを更新しつつ、これを実行する。
4. パスワードを共有している場合、 TeamPassword のようなパスワードマネージャーを使うようにして、スプレッドシートは削除する。
5. 高いセキュリティ強度を維持する
- 自動スキャンに注意を払うか、定期的に haveibeenpwned をチェックする。
- パスワード漏えいのニュースに目を光らせる。機密性の高い個人情報が流出するような深刻な侵害では、個人情報を守るために何かしらのアクションを起こす必要がある。
- Google カレンダーでパスワード更新のリマインダーを設定する - 高い機密性が求められるアカウントの場合は30~90日ごとに更新する
パスワード管理とサイバーセキュリティについてご質問がある場合は、[email protected] までお問い合わせください。 オンラインにおける個人の安全を確保すべく一人ひとりが少しずづ努力をしていけば、それがやがて大きな成果を生み出すはずです。